package pe.edu.unmsm.fisi.sisconteg.domain.model;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * @author Carlos y Marlon
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "tb_alumno", catalog = "bdsisconteg")
public class Alumno implements java.io.Serializable {

	private long idAlumno;
	private String codigoAlumno;
	private String apPaterno;
	private String apMaterno;
	private String nombres;
	private Boolean estadoAlumno;
	private String dni;
//	private Egresado egresado;

	public Alumno() {
	}

	public Alumno(long idAlumno) {
		this.idAlumno = idAlumno;
	}

	public Alumno(long idAlumno, String codigoAlumno, String apPaterno,
			String apMaterno, String nombres, Boolean estadoAlumno) {
		this.idAlumno = idAlumno;
		this.codigoAlumno = codigoAlumno;
		this.apPaterno = apPaterno;
		this.apMaterno = apMaterno;
		this.nombres = nombres;
		this.estadoAlumno = estadoAlumno;
//		this.egresado = egresado;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "C_ID_ALUMNO", unique = true, nullable = false)
	public long getIdAlumno() {
		return this.idAlumno;
	}

	public void setIdAlumno(long idAlumno) {
		this.idAlumno = idAlumno;
	}

	@Column(name = "T_CODIGO_ALUMNO", length = 8)
	public String getCodigoAlumno() {
		return this.codigoAlumno;
	}

	public void setCodigoAlumno(String codigoAlumno) {
		this.codigoAlumno = codigoAlumno;
	}

	@Column(name = "T_APE_PAT_ALUMNO", length = 150)
	public String getApPaterno() {
		return this.apPaterno;
	}

	public void setApPaterno(String apPaterno) {
		this.apPaterno = apPaterno;
	}

	@Column(name = "T_APE_MAT_ALUMNO", length = 150)
	public String getApMaterno() {
		return this.apMaterno;
	}

	public void setApMaterno(String apMaterno) {
		this.apMaterno = apMaterno;
	}

	@Column(name = "T_NOM_ALUMNO", length = 150)
	public String getNombres() {
		return this.nombres;
	}

	public void setNombres(String nombres) {
		this.nombres = nombres;
	}

	@Column(name = "B_ESTADO_ALUMNO")
	public Boolean getEstadoAlumno() {
		return this.estadoAlumno;
	}

	public void setEstadoAlumno(Boolean estadoAlumno) {
		this.estadoAlumno = estadoAlumno;
	}
	
	@Column(name = "T_DNI", length = 8)
	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

//	@OneToOne(fetch = FetchType.LAZY, mappedBy = "alumno")
//	public Egresado getEgresado() {
//		return this.egresado;
//	}
//
//	public void setEgresado(Egresado egresado) {
//		this.egresado = egresado;
//	}

}
